home *** CD-ROM | disk | FTP | other *** search
/ Inter.Net 55-1 / Inter.Net 55-1.iso / CBuilder / Setup / BCB / data.z / limits.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-02-09  |  3.2 KB  |  93 lines

  1. /*  limits.h
  2.  
  3.     Defines implementation specific limits on type values.
  4.  
  5. */
  6.  
  7. /*
  8.  *      C/C++ Run Time Library - Version 9.0
  9.  *
  10.  *      Copyright (c) 1987, 1998 by Borland International
  11.  *      All Rights Reserved.
  12.  *
  13.  */
  14.  
  15. #ifndef __LIMITS_H
  16. #define __LIMITS_H
  17. #define _INC_LIMITS  /* MSC Guard name */
  18.  
  19. #ifndef ___STDDEF_H
  20. #include <_stddef.h>
  21. #endif
  22.  
  23. #define CHAR_BIT        8               /* number of bits in a char */
  24. #define MB_LEN_MAX      2               /* max. # bytes in multibyte char */
  25.  
  26. #define SCHAR_MIN     (-128)            /* minimum signed   char value */
  27. #define SCHAR_MAX       127             /* maximum signed   char value */
  28. #define UCHAR_MAX       255             /* maximum unsigned char value */
  29.  
  30. #if ('\x80' < 0)
  31. #define CHAR_MIN        SCHAR_MIN       /* minimum char value */
  32. #define CHAR_MAX        SCHAR_MAX       /* maximum char value */
  33. #else
  34. #define CHAR_MIN        0
  35. #define CHAR_MAX        UCHAR_MAX
  36. #endif
  37.  
  38. #define SHRT_MIN      (-32767-1)        /* minimum signed   short value */
  39. #define SHRT_MAX        32767           /* maximum signed   short value */
  40. #define USHRT_MAX       65535U          /* maximum unsigned short value */
  41.  
  42. #define LONG_MIN      (-2147483647L-1)  /* minimum signed   long value */
  43. #define LONG_MAX        2147483647L     /* maximum signed   long value */
  44. #define ULONG_MAX       4294967295UL    /* maximum unsigned long value */
  45.  
  46. #if defined (_INTEGRAL_MAX_BITS) && (_INTEGRAL_MAX_BITS >= 64)
  47. #define _I64_MIN      (-9223372036854775807i64-1) /* minimum signed   __int64 value */
  48. #define _I64_MAX        9223372036854775807i64    /* maximum signed   __int64 value */
  49. #define _UI64_MAX       18446744073709551615ui64  /* maximum unsigned __int64 value */
  50. #endif
  51.  
  52. #define INT_MIN         LONG_MIN        /* minimum signed   int value */
  53. #define INT_MAX         LONG_MAX        /* maximum signed   int value */
  54. #define UINT_MAX        ULONG_MAX       /* maximum unsigned int value */
  55.  
  56. #if defined(_POSIX_)
  57.  
  58. #define _POSIX_ARG_MAX          4096
  59. #define _POSIX_CHILD_MAX        6
  60. #define _POSIX_LINK_MAX         8
  61. #define _POSIX_MAX_CANON        255
  62. #define _POSIX_MAX_INPUT        255
  63. #define _POSIX_NAME_MAX         14
  64. #define _POSIX_NGROUPS_MAX      0
  65. #define _POSIX_OPEN_MAX         16
  66. #define _POSIX_PATH_MAX         255
  67. #define _POSIX_PIPE_BUF         512
  68. #define _POSIX_SSIZE_MAX        32767
  69. #define _POSIX_STREAM_MAX       8
  70. #define _POSIX_TZNAME_MAX       3
  71.  
  72. #define ARG_MAX                 (16384 - 256)   /* 16k-(heap overhead+safety) */
  73. #define CHILD_MAX               32
  74. #define LINK_MAX                _POSIX_LINK_MAX
  75. #define MAX_CANON               _POSIX_MAX_CANON
  76. #define MAX_INPUT               _POSIX_MAX_INPUT
  77. #define NAME_MAX                255
  78. #define NGROUPS_MAX             16
  79. #define OPEN_MAX                32
  80. #define PATH_MAX                512
  81. #define PIPE_BUF                _POSIX_PIPE_BUF
  82. #define SSIZE_MAX               _POSIX_SSIZE_MAX
  83. #define STREAM_MAX              20
  84. #define TZNAME_MAX              10
  85.  
  86. #endif /* POSIX */
  87. #endif  /* __LIMITS_H */
  88.  
  89. #if defined(__cplusplus) && defined(__USING_STD_NAMES__) && !defined(__LIMITS_STD_H)
  90. #define __LIMITS_STD_H
  91. #include <limits.cc>
  92. #endif
  93.